package com.ta.gulimall.product.service;

import com.ta.gulimall.product.view.entity.BrandEntity;
import com.ta.gulimall.product.view.entity.CategoryEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ta.gulimall.common.utils.system.PageUtils;
import com.ta.gulimall.product.view.entity.CategoryBrandRelationEntity;
import com.ta.gulimall.product.view.vo.BrandVo;

import java.util.List;
import java.util.Map;

/**
 * 品牌分类关联
 *
 * @author tuao
 * @email tuaoo@gmail.com
 * @date 2022-10-27 16:31:57
 */
public interface CategoryBrandRelationService extends IService<CategoryBrandRelationEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 保存品牌下的分类信息
     * @param categoryBrandRelation
     */
    void saveCategoryBrandRelation(CategoryBrandRelationEntity categoryBrandRelation);

    /**
     * 级联更新品牌分类关联表
      * @param brand
     */
    void updateCascadeBrand(BrandEntity brand);

    /**
     * 级联更新品牌分类关联表
     * @param category
     */
    void updateCascadeCategory(CategoryEntity category);

    /**
     * 查询品牌下的分类集合
     * @param brandId
     * @return
     */
    List<CategoryBrandRelationEntity> getCategoryBrandRelations(Long brandId);

    /**
     * 分类下的品牌信息集合
     * @param catId
     * @return
     */
    List<BrandVo> getBrandVos(Long catId);
}

